<?php
namespace app\common\logic;
use think\facade\Db;


class ModuleLogic
{
    /**
     * 所有模块
     * @var array
     */
    public $modules = [];

    /**
     * 可见模块
     * @var array
     */
    public $showModules = [];

    public function getModules($onlyShow = true){
        if ($this->modules) {
            return $onlyShow ? $this->showModules : $this->modules;
        }

        $modules = [
            [
                'name'  => 'admincp', 'title' => '总后台', 'show' => 1,
                'privilege' => [
                    'index'=>'控制台管理',
                    'car'=>'车辆管理',
                    'order'=>'订单管理',
                    'record'=>'数据统计',
                    'cost'=>'成本核算',
                    'finance'=>'财务统计',
                    'user'=>'客户管理',
                    'audit'=>'审核',
                    'apply'=>'申请',
                    'system'=>'系统设置',
                    'auth'=>'权限设置',
//                    'user'=>'用户管理',
//                    'other'=>'资讯管理',
//                    'dynamic'=>'动态管理',
//                    'video'=>'视频管理',
//                    'goods'=>'积分商城',
//                    'system'=>'系统设置',
//                    'auth'=>'权限设置',

                ],
            ]
        ];

        $this->modules = $modules;
        foreach ($modules as $key => $module) {
            if (!$module['show']) {
                unset($modules[$key]);
            }
        }
        $this->showModules = $modules;

        return $onlyShow ? $this->showModules : $this->modules;
    }

    public function getModule($moduleIdx, $onlyShow = true){
        if (!self::isModuleExist($moduleIdx, $onlyShow)) {
            return [];
        }

        $modules = $this->getModules($onlyShow);
        return $modules[$moduleIdx];
    }

    public function isModuleExist($moduleIdx, $onlyShow = true){
        return key_exists($moduleIdx, $this->getModules($onlyShow));
    }

    public function getPrivilege($moduleIdx, $onlyShow = true){
        $modules = $this->getModules($onlyShow);
        return $modules[$moduleIdx]['privilege'];
    }
}